package com.evolved.automata.experimental;

public interface UtilityAndPerferenceModule {
	public static enum Utility
	{
		POSITIVE,
		NEGATIVE,
		NEUTRAL
	}
	
	public static int KEEP_DISTANCE_GREATER_THAN_MINIMUM=0; 
	public static int SEEK_PATTERN_NOVELTY_FROM_MINIMUM_DISTANCE=1;
	public static int ACCEPT_ANY=2;
	public static int SIMPLE_AVOIDANCE_ONLY=3;
	
	
	public Utility UpdateState(int[] currentState, int[] actionsChosen);
	
	public int GetUtilityType();
	
	public void UpdateData(int[] parameters);
	
	public int[] GetGeneticParameters();
	
	public void SetUtilityListener(UtilityListener listener);
	
}
